package com.stylefeng.guns.rest.common.persistence.model;

import java.io.Serializable;

import com.baomidou.mybatisplus.annotations.Version;
import com.baomidou.mybatisplus.enums.IdType;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;
import java.io.Serializable;

/**
 * <p>
 * 用户拼单详情表
 * </p>
 *
 * @author ruiyifeng123
 * @since 2019-04-03
 */
@TableName("wz_user_merge_detail")
public class WzUserMergeDetail extends Model<WzUserMergeDetail> {

    private static final long serialVersionUID = 1L;

    @TableId(value = "user_merge_detail_id", type = IdType.ID_WORKER)
    private Long userMergeDetailId;
    /**
     * 周边店铺id
     */
    @TableField("adv_map_id")
    private Long advMapId;
    /**
     * 拼单活动id
     */
    @TableField("map_merge_id")
    private Long mapMergeId;
    /**
     * 用户拼单表
     */
    @TableField("user_merge_id")
    private Long userMergeId;
    /**
     * 用户编号
     */
    @TableField("user_code")
    private Long userCode;
    /**
     * 优惠信息
     */
    private String benefit;
    /**
     * 商户名称
     */
    @TableField("merchant_name")
    private String merchantName;
    /**
     * 图片
     */
    private String pic;
    /**
     * 昵称
     */
    @TableField("nick_name")
    private String nickName;
    /**
     * 头像
     */
    @TableField("avatar_url")
    private String avatarUrl;
    /**
     * 购买数量
     */
    private Integer quantity;
    /**
     * 状态：0-待支付;1-进行中;2-已完成；3-过期
     */
    private Integer status;
    /**
     * 支付时间
     */
    @TableField("pay_time")
    private Date payTime;
    /**
     * 结束时间
     */
    @TableField("end_time")
    private Date endTime;
    /**
     * 拼单价
     */
    @TableField("merge_price")
    private Integer mergePrice;
    /**
     * 订单金额
     */
    private Integer amount;
    /**
     * 现金支付金额
     */
    @TableField("cash_amount")
    private Integer cashAmount;
    /**
     * 积分抵扣金额
     */
    @TableField("reward_amount")
    private Integer rewardAmount;
    /**
     * 用户收货地址
     */
    @TableField("user_info_id")
    private String userInfoId;
    /**
     * 参与拼单用户头像
     */
    @TableField("second_avatar_url")
    private String secondAvatarUrl;
    /**
     * 创建事件
     */
    @TableField("create_time")
    private Date createTime;
    /**
     * 购买用户id：微信-openid；支付宝-buyerId
     */
    @TableField("buyer_id")
    private String buyerId;
    /**
     * 支付方式:1-alipay;2-weixin;3-wz
     */
    @TableField("pay_method")
    private Integer payMethod;

    @Version
    private Integer version;


    public Long getUserMergeDetailId() {
        return userMergeDetailId;
    }

    public void setUserMergeDetailId(Long userMergeDetailId) {
        this.userMergeDetailId = userMergeDetailId;
    }

    public Long getAdvMapId() {
        return advMapId;
    }

    public void setAdvMapId(Long advMapId) {
        this.advMapId = advMapId;
    }

    public Long getMapMergeId() {
        return mapMergeId;
    }

    public void setMapMergeId(Long mapMergeId) {
        this.mapMergeId = mapMergeId;
    }

    public Long getUserMergeId() {
        return userMergeId;
    }

    public void setUserMergeId(Long userMergeId) {
        this.userMergeId = userMergeId;
    }

    public Long getUserCode() {
        return userCode;
    }

    public void setUserCode(Long userCode) {
        this.userCode = userCode;
    }

    public String getBenefit() {
        return benefit;
    }

    public void setBenefit(String benefit) {
        this.benefit = benefit;
    }

    public String getMerchantName() {
        return merchantName;
    }

    public void setMerchantName(String merchantName) {
        this.merchantName = merchantName;
    }

    public String getPic() {
        return pic;
    }

    public void setPic(String pic) {
        this.pic = pic;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getAvatarUrl() {
        return avatarUrl;
    }

    public void setAvatarUrl(String avatarUrl) {
        this.avatarUrl = avatarUrl;
    }

    public Integer getQuantity() {
        return quantity;
    }

    public void setQuantity(Integer quantity) {
        this.quantity = quantity;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Date getPayTime() {
        return payTime;
    }

    public void setPayTime(Date payTime) {
        this.payTime = payTime;
    }

    public Date getEndTime() {
        return endTime;
    }

    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }

    public Integer getMergePrice() {
        return mergePrice;
    }

    public void setMergePrice(Integer mergePrice) {
        this.mergePrice = mergePrice;
    }

    public Integer getAmount() {
        return amount;
    }

    public void setAmount(Integer amount) {
        this.amount = amount;
    }

    public Integer getCashAmount() {
        return cashAmount;
    }

    public void setCashAmount(Integer cashAmount) {
        this.cashAmount = cashAmount;
    }

    public Integer getRewardAmount() {
        return rewardAmount;
    }

    public void setRewardAmount(Integer rewardAmount) {
        this.rewardAmount = rewardAmount;
    }

    public String getUserInfoId() {
        return userInfoId;
    }

    public void setUserInfoId(String userInfoId) {
        this.userInfoId = userInfoId;
    }

    public String getSecondAvatarUrl() {
        return secondAvatarUrl;
    }

    public void setSecondAvatarUrl(String secondAvatarUrl) {
        this.secondAvatarUrl = secondAvatarUrl;
    }

    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public String getBuyerId() {
        return buyerId;
    }

    public void setBuyerId(String buyerId) {
        this.buyerId = buyerId;
    }

    public Integer getPayMethod() {
        return payMethod;
    }

    public void setPayMethod(Integer payMethod) {
        this.payMethod = payMethod;
    }

    public Integer getVersion() {
        return version;
    }

    public void setVersion(Integer version) {
        this.version = version;
    }

    @Override
    protected Serializable pkVal() {
        return this.userMergeDetailId;
    }

    @Override
    public String toString() {
        return "WzUserMergeDetail{" +
        "userMergeDetailId=" + userMergeDetailId +
        ", advMapId=" + advMapId +
        ", mapMergeId=" + mapMergeId +
        ", userMergeId=" + userMergeId +
        ", userCode=" + userCode +
        ", benefit=" + benefit +
        ", merchantName=" + merchantName +
        ", pic=" + pic +
        ", nickName=" + nickName +
        ", avatarUrl=" + avatarUrl +
        ", quantity=" + quantity +
        ", status=" + status +
        ", payTime=" + payTime +
        ", endTime=" + endTime +
        ", mergePrice=" + mergePrice +
        ", amount=" + amount +
        ", cashAmount=" + cashAmount +
        ", rewardAmount=" + rewardAmount +
        ", userInfoId=" + userInfoId +
        ", secondAvatarUrl=" + secondAvatarUrl +
        ", createTime=" + createTime +
        ", buyerId=" + buyerId +
        ", payMethod=" + payMethod +
        ", version=" + version +
        "}";
    }
}
